home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
32
/
cadence.zip
/
VOL2NO5.ZIP
/
LOG.LSP
< prev
Wrap
Text File
|
1987-03-24
|
3KB
|
91 lines
; ====================================================================
;
; AutoLISP Concepts May 1987. System Variables & Time Keeping
; Bill Kramer
;
;
; Listing 1. CDATE: Returns the current date and time in a string.
;
(defun Cdate ( / CD)
(setq CD (rtos (getvar "CDATE") 2 6))
(strcat (substr CD 5 2) "/" (substr CD 7 2) "/" (substr CD 3 2) " "
(substr CD 10 2) ":" (substr CD 12 2) ":" (substr CD 14 2)))
;
;
; Listing 2. TIMER: Returns the interval time every other call.
; Elapsed time in fractions of a day.
;
(defun Timer ( / ELPS)
(if (null TMON)
(setq TMON (getvar "DATE") ELPS nil)
(setq ELPS (- (getvar "DATE") TMON) TMON nil))
ELPS)
;
;
; Listing 3. AUTOSAVE: Automatic save of the drawing file when ever
; a set time increment of 15 minutes has passed
; betweens calls to the AUTOSAVE command.
; Add to front of several (not all) menu buttons.
;
(defun C:AutoSAVE ()
(if (null Tsaved) (setq Tsaved (getvar "DATE")))
(if
(> (* (- (getvar "DATE") Tsaved) 1440.0) 15.0)
(progn
(command "SAVE" "")
(setq Tsaved (getvar "DATE")))))
;
;
; Listing 4. TIME: Returns the time in a string format given
; the Julian time.
;
(defun Time (JDT) ; JDT is Julian Date/Time
(setq JDT (- JDT (fix JDT))
HH (* JDT 24.0)
MM (* (- HH (fix HH)) 60.0)
SS (* (- MM (fix MM)) 60.0))
(strcat (itoa (fix HH)) ":"
(if (< (fix MM) 10) "0" "") (itoa (fix MM)) ":"
(if (< (fix SS) 10) "0" "") (itoa (fix SS))))
;
;
; Listing 5. C:LOG Log is a program that builds a time log
; program for activities currently being
; performed.
;
(defun C:LOG ()
(if (null Tstart)
(progn
(if (null O-Name) (setq O-Name (getstring T "\nEnter your name:")))
(setq Temp
(if (null Proj) (getstring T "\nProject ID:")
(getstring T (strcat "\nProject ID <" Proj "> :"))))
(if (null Proj) (setq Proj ""))
(if (/= "" Temp) (setq Proj Temp))
(setq Temp
(if (null Actv) (getstring T "\nActivity:")
(getstring T (strcat "\nActivity <" Actv "> :"))))
(if (/= "" Temp) (setq Actv Temp))
(if (null Actv) (setq Actv ""))
(setq Tstart (cdate))
(timer))
(progn
(setq Tstart (strcat "Start: " Tstart " Stop: " (cdate)) Elsp (timer))
(if LOG-FH
(write-line (strcat O-name ", " Proj ", " Actv "\n" Tstart
" Elapsed: " (time Elsp)) LOG-FH)
(write-line (strcat O-name ", " Proj ", " Actv "\n" Tstart
" Elapsed: " (time Elsp))))
(setq Tstart nil Elsp nil))))
;
(defun C:Log-On ()
(setq FN (getstring "\nLog file name <LOG.LOG>:"))
(if (= FN "") (setq FN "LOG.LOG"))
(setq LOG-FH (open FN "w"))
(setq FN " Log File Opened. Type LOG to start clock."))
;
(defun C:Log-Off ()
(setq LOG-FH (close LOG-FH))
(prompt "\nEnding current drawing session.")
(command "END"))